package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 * @author hua
 * @since 2022-09-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_product_out")
public class ProductOutDo extends Model<ProductOutDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("out_no")
    private String outNo;

    @TableField("platform")
    private String platform;

    @TableField("order_type")
    private String orderType;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 审核时间
     */
    @TableField("examine_time")
    private Date examineTime;

    /**
     * 发货时间
     */
    @TableField("shipping_time")
    private Date shippingTime;

    /**
     * 订单金额
     */
    @TableField("order_amount")
    private Double orderAmount;

    /**
     * 数量
     */
    @TableField("quantity")
    private Integer quantity;

    @TableField("sku")
    private String sku;

    /**
     * 根据sku匹配的productId
     */
    @TableField("product_id")
    private Long productId;

    /**
     * 运费
     */
    @TableField("shipping_price")
    private Double shippingPrice;

    /**
     * 单位成本
     */
    @TableField("unit_cost")
    private Double unitCost;

    @TableField("status")
    private String status;

    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    /**
     * 导入时间
     */
    @TableField("import_time")
    private Date importTime;

    /**
     * 导入人
     */
    @TableField("import_by")
    private Long importBy;

    @TableField("shop_id")
    private Long shopId;

    @TableField("storage_id")
    private Long storageId;

    @TableField("company_id")
    private Long companyId;

    @TableField("usd_rate")
    private Double usdRate;

    @TableField("jpy_rate")
    private Double jpyRate;

    @TableField("plat_create_time")
    private Date platCreateTime;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
